์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ญ ์ฑ๋ฅ ์ต์ ํ ๋ฐ ํจ์จ์ ์ธ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ํด React์ experimental_useCache ์ ๊ฑฐ ์ ์ฑ ๊ณผ ํต์ฌ ์บ์ ๊ต์ฒด ์ ๋ต์ ์์๋ณด์ธ์.
React์ experimental_useCache ์ ๊ฑฐ ์ ์ฑ ๋ง์คํฐํ๊ธฐ: ์บ์ ๊ต์ฒด ์ ๋ต์ ๋ํ ๊ธ๋ก๋ฒ ๊ฐ์ด๋
์ฆ๊ฐ์ ์ด๊ณ ์ ์ฐํ ๊ฒฝํ์ ๋ํ ์ฌ์ฉ์ ๊ธฐ๋์น๊ฐ ๊ณ์ํด์ ๋์์ง๋ ์ญ๋์ ์ธ ์น ๊ฐ๋ฐ ์ธ๊ณ์์ ์ฑ๋ฅ์ ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ด์์ธ React๋ ์ด๋ฌํ ์๊ตฌ๋ฅผ ์ถฉ์กฑ์ํค๊ธฐ ์ํด ๋์์์ด ์งํํฉ๋๋ค. ๊ทธ ํ์ ์ค ํ๋๋ experimental_useCache์ ๋์
์
๋๋ค. ์ด๋ ๋น์ฉ์ด ๋ง์ด ๋๋ ๊ณ์ฐ์ด๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋ฉ๋ชจ์ด์ ์ด์
ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์๋์ ๋ฐ์์ฑ์ ํฅ์์ํค๋๋ก ์ค๊ณ๋ ๊ฐ๋ ฅํ ํ
์
๋๋ค. ๊ทธ๋ฌ๋ ์บ์ฑ์ ์ง์ ํ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ์ง๋ฅ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐ ์์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ๋ฅผ ์ค์ํ๋ฉด์๋ ์ข
์ข
๊ฐ๊ณผ๋๋ ์ธก๋ฉด์ธ ์บ์ ์ ๊ฑฐ ์ ์ฑ
์ผ๋ก ์ด๋๋๋ค.
์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ํนํ React์ experimental_useCache ๋งฅ๋ฝ์์ ์บ์ ๊ต์ฒด ์ ๋ต์ด๋ผ๋ ๋งคํน์ ์ธ ์์ญ์ ๊น์ด ํ๊ณ ๋ญ๋๋ค. ์ฐ๋ฆฌ๋ ์ ์ ๊ฑฐ๊ฐ ํ์ํ์ง ํ๊ตฌํ๊ณ , ์ผ๋ฐ์ ์ธ ์ ๋ต๋ค์ ๊ฒํ ํ๋ฉฐ, React๊ฐ ๋ด๋ถ ์บ์ฑ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ์ถ๋ก ํ๊ณ , ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ด ๋ ์ฑ๋ฅ์ด ์ข๊ณ ๊ฒฌ๊ณ ํ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ ์ ์๋๋ก ์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ ๊ฒ์
๋๋ค.
React์ experimental_useCache ์ดํดํ๊ธฐ
์บ์ ์ ๊ฑฐ๋ฅผ ์์ ํ ์ดํดํ๋ ค๋ฉด ๋จผ์ experimental_useCache์ ์ญํ ์ ์ดํดํด์ผ ํฉ๋๋ค. ์ด ํ
์ ํนํ ๋์์ฑ ๋ ๋๋ง ๋ชจ๋ธ ๋ด์์ ์ ํ๋ฆฌ์ผ์ด์
์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์์๋ฅผ ์ ๊ณตํ๋ ค๋ React์ ์ง์์ ์ธ ๋
ธ๋ ฅ์ ์ผ๋ถ์
๋๋ค. ํต์ฌ์ ์ผ๋ก, experimental_useCache๋ ํจ์ ํธ์ถ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ์ด์ ์ด์
ํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ ๋์ผํ ์
๋ ฅ์ผ๋ก ํจ์๋ฅผ ์ฌ๋ฌ ๋ฒ ํธ์ถํ ๊ฒฝ์ฐ React๊ฐ ํจ์๋ฅผ ๋ค์ ์คํํ๋ ๋์ ์ด์ ์ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ฅผ ์บ์์์ ๋ฐํํ์ฌ ๊ณ์ฐ ์๊ฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ์ ์ฝํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
experimental_useCache๋ ๋ฌด์์ด๋ฉฐ ๊ทธ ๋ชฉ์ ์?
- ๋ฉ๋ชจ์ด์ ์ด์ (Memoization): ์ฃผ์ ๋ชฉํ๋ ์์ ํจ์๋ ๋น์ฉ์ด ๋ง์ด ๋๋ ๊ณ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. React์ ๋ ๋๋ง ์๋ช ์ฃผ๊ธฐ์ ๊น์ด ํตํฉ๋๋ ํนํ๋ ๋ฉ๋ชจ์ด์ ์ด์ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ก ์๊ฐํ ์ ์์ต๋๋ค.
- ๋ฆฌ์์ค ๊ด๋ฆฌ: ๊ฐ๋ฐ์๊ฐ JSX ์์๋ถํฐ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ด๋ฅด๊ธฐ๊น์ง ์์ฑํ๊ฑฐ๋ ๊ฒ์ํ๋ ๋ฐ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์๋ ๋ชจ๋ JavaScript ๊ฐ์ ์บ์ํ ์ ์๊ฒ ํด์ค๋๋ค. ์ด๋ ํด๋ผ์ด์ธํธ์ CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถํ๋ฅผ ์ค์ฌ์ค๋๋ค.
- ๋์์ฑ React์์ ํตํฉ: React์ ๋์์ฑ ๊ธฐ๋ฅ๊ณผ ์ํํ๊ฒ ์๋ํ๋๋ก ์ค๊ณ๋์ด ์บ์๋ ๊ฐ์ด ๋ค์ํ ๋ ๋๋ง ์ฐ์ ์์์์ ์ผ๊ด๋๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ด์ ์ ๋ถ๋ช ํฉ๋๋ค: ๋ ๋น ๋ฅธ ์ด๊ธฐ ๋ก๋, ๋ ๋ถ๋๋ฌ์ด ์ํธ์์ฉ, ๊ทธ๋ฆฌ๊ณ ์ ๋ฐ์ ์ผ๋ก ๋ ๋ฐ์์ฑ์ด ์ข์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๋๋ค. ์ ์ธ๊ณ ์ฌ์ฉ์, ํนํ ์ฑ๋ฅ์ด ๋ฎ์ ๊ธฐ๊ธฐ๋ ๋๋ฆฐ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์์๊ฒ ์ด๋ฌํ ์ต์ ํ๋ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ผ๋ก ์ง์ ์ด์ด์ง๋๋ค. ๊ทธ๋ฌ๋ ํต์ ๋์ง ์๋ ์บ์๋ ๋น ๋ฅด๊ฒ ๋ถ์ฑ๊ฐ ๋ ์ ์์ผ๋ฉฐ, ์ด๋ ์ฐ๋ฆฌ๋ฅผ ์ ๊ฑฐ๋ผ๋ ์ค์ํ ์ฃผ์ ๋ก ์ด๋๋๋ค.
์บ์ ์ ๊ฑฐ์ ์ ๋์ ์ธ ํ์์ฑ
์บ์ฑ์ ์ฑ๋ฅ์ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ์ด์ง๋ง ๋ง๋ณํต์น์ฝ์ ์๋๋๋ค. ๋ฌด์ ํ ์บ์๋ ๋ช ๊ฐ์ง ๊ทผ๋ณธ์ ์ธ ์ด์ ๋ก ๋นํ์ค์ ์ธ ํ์์ ๋๋ค. ๋ชจ๋ ์บ์๋ ํญ๋ชฉ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ๋ฉฐ, ์ ํฅ ์์ฅ์ ์ค๋งํธํฐ๋ถํฐ ์ ์ง๊ตญ์ ๊ณ ์ฑ๋ฅ ์ํฌ์คํ ์ด์ ์ ์ด๋ฅด๊ธฐ๊น์ง ํด๋ผ์ด์ธํธ ์ธก ๊ธฐ๊ธฐ๋ ์ ํํ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ค๋๋๊ฑฐ๋ ๋ ๊ด๋ จ๋ ํญ๋ชฉ์ ์ ๊ฑฐํ๋ ์ ๋ต์ด ์๋ค๋ฉด ์บ์๋ ๋ฌดํ์ ์ปค์ ธ ๊ฒฐ๊ตญ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ชจํ๊ณ ์์ด๋ฌ๋ํ๊ฒ๋ ์ฌ๊ฐํ ์ฑ๋ฅ ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ถฉ๋๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
์ ๋ฌดํ์ ์บ์ํ ์ ์๋๊ฐ?
- ์ ํํ ๋ฉ๋ชจ๋ฆฌ ๋ฆฌ์์ค: ์์นด๋ฅดํ์ ์ค๋งํธํฐ์ด๋ ๋ฒ ๋ฅผ๋ฆฐ์ ๋ฐ์คํฌํฑ์ด๋ ๋ชจ๋ ๊ธฐ๊ธฐ๋ ์ ํ๋ ์์ RAM์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํต์ ๋์ง ์๋ ์บ์ฑ์ ์ด๋ฅผ ๋น ๋ฅด๊ฒ ๊ณ ๊ฐ์์ผ ๋ธ๋ผ์ฐ์ ๋ ์ด์ ์ฒด์ ๊ฐ ๋๋ ค์ง๊ฑฐ๋, ๋ฉ์ถ๊ฑฐ๋, ์ฌ์ง์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ฃ์ํฌ ์ ์์ต๋๋ค.
- ์ค๋๋ ๋ฐ์ดํฐ(Stale Data): ๋ง์ ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ฐ์ดํฐ๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ฉ๋๋ค. ๋ฌดํ์ ์บ์ฑํ๋ค๋ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ค๋๋ ์ ๋ณด๋ฅผ ํ์ํ ์ ์์์ ์๋ฏธํ๋ฉฐ, ์ด๋ ์ฌ์ฉ์ ํผ๋, ์๋ชป๋ ๊ฒฐ์ ๋๋ ๋ณด์ ๋ฌธ์ ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
experimental_useCache๋ ์ฃผ๋ก ๊ณ์ฐ์ ๋ฉ๋ชจ์ด์ ์ด์ ํ๊ธฐ ์ํ ๊ฒ์ด์ง๋ง, ์ธ์ ๋์ '์ฝ๊ธฐ ์ ์ฉ'์ผ๋ก ๊ฐ์ฃผ๋๋ ๋ฐ์ดํฐ์ ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ๊ทธ ๊ฒฝ์ฐ์๋ ๊ด๋ จ์ฑ์ด ์ค์ด๋ค ์ ์์ต๋๋ค. - ์ฑ๋ฅ ์ค๋ฒํค๋: ๋๋ฌด ํฐ ์บ์๋ ์์ด๋ฌ๋ํ๊ฒ๋ ๊ด๋ฆฌํ๊ธฐ๊ฐ ๋ ๋๋ ค์ง ์ ์์ต๋๋ค. ๊ฑฐ๋ํ ์บ์๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ๊ตฌ์กฐ๋ฅผ ๊ณ์ ์ ๋ฐ์ดํธํ๋ ์ค๋ฒํค๋๋ ์๋ ์ ๊ณตํ๋ ค๋ ์ฑ๋ฅ์์ ์ด์ ์ ์์ํ ์ ์์ต๋๋ค.
- ๊ฐ๋น์ง ์ปฌ๋ ์ ๋ถ๋ด: ์๋ฐ์คํฌ๋ฆฝํธ ํ๊ฒฝ์์ ๊ณ์ ์ปค์ง๋ ์บ์๋ ๋ ๋ง์ ๊ฐ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ง๋จ์ ์๋ฏธํ๋ฉฐ, ์ด๋ ๊ฐ๋น์ง ์ปฌ๋ ํฐ์ ๋ถ๋ด์ ์ฆ๊ฐ์ํต๋๋ค. ์ฆ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ฃผ๊ธฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ๋์ ๋๋ ๋ฉ์ถค์ ์ ๋ฐํ์ฌ ๊ณ ๋ฅด์ง ๋ชปํ ์ฌ์ฉ์ ๊ฒฝํ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
์บ์ ์ ๊ฑฐ๊ฐ ํด๊ฒฐํ๋ ํต์ฌ ๋ฌธ์ ๋ ๊ท ํ์ ์ ์งํ๋ ๊ฒ์ ๋๋ค: ์์ฃผ ํ์ํ ํญ๋ชฉ์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋๋ก ์ ์งํ๋ฉด์ ๋ ์ค์ํ ํญ๋ชฉ์ ํจ์จ์ ์ผ๋ก ํ๊ธฐํ์ฌ ๋ฆฌ์์ค๋ฅผ ๋ณด์กดํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ท ํ ์ก๊ธฐ ํ์์์ ๋ค์ํ ์บ์ ๊ต์ฒด ์ ๋ต์ด ์ญํ ์ ํฉ๋๋ค.
ํต์ฌ ์บ์ ๊ต์ฒด ์ ๋ต: ๊ธ๋ก๋ฒ ๊ฐ์
React์ ์ ์ฌ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ถ๋ก ํ๊ธฐ ์ ์, ๋ค์ํ ์ปดํจํ ์์ญ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ์ ์ธ ์บ์ ๊ต์ฒด ์ ๋ต์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฌํ ์ผ๋ฐ ์์น์ ์ดํดํ๋ ๊ฒ์ ํจ๊ณผ์ ์ธ ์บ์ฑ ์์คํ ์ ์ค๊ณํ๋ ๋ฐ ๊ด๋ จ๋ ๋ณต์ก์ฑ๊ณผ ์ ์ถฉ์ ์ ์ดํดํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
1. ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋์ง ์์ ํญ๋ชฉ (LRU)
๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋์ง ์์ ํญ๋ชฉ(LRU) ์๊ณ ๋ฆฌ์ฆ์ ์ง๊ด์ ์ธ ๋ ผ๋ฆฌ์ ๋ง์ ์ค์ ์๋๋ฆฌ์ค์์์ ์ผ๋ฐ์ ์ธ ํจ๊ณผ ๋๋ถ์ ๊ฐ์ฅ ๋๋ฆฌ ์ฑํ๋ ์บ์ ์ ๊ฑฐ ์ ๋ต ์ค ํ๋์ ๋๋ค. ํต์ฌ ์์น์ ๊ฐ๋จํฉ๋๋ค: ์บ์๊ฐ ์ต๋ ์ฉ๋์ ๋๋ฌํ๊ณ ์ ํญ๋ชฉ์ ์ถ๊ฐํด์ผ ํ ๋, ๊ฐ์ฅ ์ค๋ซ๋์ ์ ๊ทผํ์ง ์์ ํญ๋ชฉ์ด ๊ณต๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ์ ๊ฑฐ๋ฉ๋๋ค. ์ด ์ ๋ต์ ์ต๊ทผ์ ์ ๊ทผํ ํญ๋ชฉ์ด ๊ฐ๊น์ด ๋ฏธ๋์ ๋ค์ ์ ๊ทผํ ๊ฐ๋ฅ์ฑ์ด ๋ ๋๋ค๋ ๊ฒฝํ์ ๊ท์น, ์ฆ ์๊ฐ์ ์ง์ญ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ํฉ๋๋ค. LRU๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์บ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ ฌ๋ ๋ชฉ๋ก์ด๋ ํด์ ๋งต๊ณผ ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์กฐํฉ์ ์ ์งํฉ๋๋ค. ํญ๋ชฉ์ ์ ๊ทผํ ๋๋ง๋ค ๋ชฉ๋ก์ "๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋" ๋์ผ๋ก ์ด๋ํฉ๋๋ค. ์ ๊ฑฐ๊ฐ ํ์ํ ๋ "๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋์ง ์์" ๋์ ์๋ ํญ๋ชฉ์ด ํ๊ธฐ๋ฉ๋๋ค. ๊ฐ๋ ฅํ์ง๋ง LRU์๋ ๋จ์ ์ ์์ต๋๋ค. ๋ง์ ์์ ํญ๋ชฉ์ด ํ ๋ฒ๋ง ์ ๊ทผ๋๊ณ ๋ค์๋ ์ ๊ทผ๋์ง ์์ ์ง์ ์ผ๋ก ์์ฃผ ์ฌ์ฉ๋๋ ํญ๋ชฉ์ ๋ฐ์ด๋ด๋ '์บ์ ์ค์ผ'์ ์ด๋ ค์์ ๊ฒช์ ์ ์์ต๋๋ค. ๋ํ, ํนํ ๋งค์ฐ ํฐ ์บ์๋ ๋์ ์ ๊ทผ๋ฅ ์ ๊ฒฝ์ฐ ์ ๊ทผ ์์๋ฅผ ์ ์งํ๋ ๋ฐ ๊ณ์ฐ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณ ๋ ค ์ฌํญ์๋ ๋ถ๊ตฌํ๊ณ , ์์ธก ๋ฅ๋ ฅ ๋๋ถ์ ๋ฉ๋ชจ์ด์ ์ด์ ๋ ๊ณ์ฐ์ ์บ์ฑํ๋ ๋ฐ ๊ฐ๋ ฅํ ํ๋ณด๊ฐ ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ์ต๊ทผ ์ฌ์ฉ์ ์ข ์ข ์ฌ์ฉ์ ์ธํฐํ์ด์ค์์ ์ง์์ ์ธ ๊ด๋ จ์ฑ์ ๋ํ๋ ๋๋ค.
2. ๊ฐ์ฅ ์ ๊ฒ ์ฌ์ฉ๋ ํญ๋ชฉ (LFU)
๊ฐ์ฅ ์ ๊ฒ ์ฌ์ฉ๋ ํญ๋ชฉ(LFU) ์๊ณ ๋ฆฌ์ฆ์ ์ต๊ทผ์ฑ๋ณด๋ค๋ ์ ๊ทผ ๋น๋์ ๋ฐ๋ผ ํญ๋ชฉ์ ์ฐ์ ์์๋ฅผ ์ ํฉ๋๋ค. ์บ์๊ฐ ๊ฐ๋ ์ฐผ์ ๋, LFU๋ ์ ๊ทผ ํ์๊ฐ ๊ฐ์ฅ ๋ฎ์ ํญ๋ชฉ์ ์ ๊ฑฐํ๋๋ก ์ง์ํฉ๋๋ค. ์ฌ๊ธฐ์์ ๋ ผ๋ฆฌ๋ ๋ ์์ฃผ ์ ๊ทผํ๋ ํญ๋ชฉ์ด ๋ณธ์ง์ ์ผ๋ก ๋ ๊ฐ์น๊ฐ ์์ผ๋ฏ๋ก ์ ์ง๋์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. LFU๋ฅผ ๊ตฌํํ๋ ค๋ฉด ์บ์์ ๊ฐ ํญ๋ชฉ์ ์ ๊ทผํ ๋๋ง๋ค ์ฆ๊ฐํ๋ ์นด์ดํฐ๋ฅผ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ์ ๊ฑฐ๊ฐ ํ์ํ ๋ ๊ฐ์ฅ ์์ ์นด์ดํฐ ๊ฐ์ ๊ฐ์ง ํญ๋ชฉ์ด ์ ๊ฑฐ๋ฉ๋๋ค. ์ฌ๋ฌ ํญ๋ชฉ์ด ๊ฐ์ฅ ๋ฎ์ ๋น๋๋ฅผ ๊ณต์ ํ๋ ๊ฒฝ์ฐ, LRU๋ FIFO(์ ์ ์ ์ถ)์ ๊ฐ์ ์ถ๊ฐ์ ์ธ ๋์ ํด๊ฒฐ ๊ท์น์ด ์ ์ฉ๋ ์ ์์ต๋๋ค. LFU๋ ์ ๊ทผ ํจํด์ด ์๊ฐ์ด ์ง๋๋ ์ผ๊ด๋๊ณ , ๋งค์ฐ ์ธ๊ธฐ ์๋ ํญ๋ชฉ์ด ๊ณ์ ์ธ๊ธฐ๋ฅผ ์ ์งํ๋ ์๋๋ฆฌ์ค์์ ๋ฐ์ด๋ฉ๋๋ค. ๊ทธ๋ฌ๋ LFU์๋ ์์ฒด์ ์ธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์์ฃผ ์ ๊ทผํ๋ ํญ๋ชฉ์ด ์ด๊ธฐ ๋จ๊ณ์์ ์ถฉ๋ถํ ์ ๊ทผ ํ์๋ฅผ ์ป์ง ๋ชปํ๋ฉด ์ผ์ฐ ์ ๊ฑฐ๋ ์ ์๋ '์บ์ ์๋ฐ์ '์ ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ๋ํ ๋ณํํ๋ ์ ๊ทผ ํจํด์ ์ ์ ์ํ์ง ๋ชปํฉ๋๋ค. ๊ณผ๊ฑฐ์๋ ๋งค์ฐ ์ธ๊ธฐ๊ฐ ์์์ง๋ง ๋ ์ด์ ํ์ํ์ง ์์ ํญ๋ชฉ์ด ๋์ ๊ณผ๊ฑฐ ๋น๋ ์ ๋๋ฌธ์ ์บ์์ ์๊ณ ํ๊ฒ ๋จ์ ๊ท์คํ ๊ณต๊ฐ์ ์ฐจ์งํ ์ ์์ต๋๋ค. ๋ชจ๋ ํญ๋ชฉ์ ๋ํ ์ ๊ทผ ํ์๋ฅผ ์ ์งํ๊ณ ์ ๋ฐ์ดํธํ๋ ์ค๋ฒํค๋๋ ์๋นํ ์ ์์ต๋๋ค.
3. ์ ์ ์ ์ถ (FIFO)
์ ์ ์ ์ถ(FIFO) ์๊ณ ๋ฆฌ์ฆ์ ์๋ง๋ ๊ฐ์ฅ ๊ฐ๋จํ ์บ์ ๊ต์ฒด ์ ๋ต์ผ ๊ฒ์ ๋๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด, ์บ์์ ๊ฐ์ฅ ๋จผ์ ์ถ๊ฐ๋ ํญ๋ชฉ์ด ๊ณต๊ฐ์ด ํ์ํ ๋ ๊ฐ์ฅ ๋จผ์ ์ ๊ฑฐ๋๋ค๋ ์์น์ ๋ฐ๋ผ ์๋ํฉ๋๋ค. ์ด ์ ๋ต์ ํ์ ์ ์ฌํฉ๋๋ค: ํญ๋ชฉ์ ํ์ชฝ ๋์ ์ถ๊ฐ๋๊ณ ๋ค๋ฅธ ์ชฝ ๋์์ ์ ๊ฑฐ๋ฉ๋๋ค. FIFO๋ ์ฝ์ ์์๋ง ์ถ์ ํ๋ฉด ๋๋ฏ๋ก ์ต์ํ์ ์ค๋ฒํค๋๋ก ๊ตฌํํ๊ธฐ๊ฐ ๊ฐ๋จํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ๋จ์ํจ์ด ๊ฐ์ฅ ํฐ ์ฝ์ ์ด๊ธฐ๋ ํฉ๋๋ค. FIFO๋ ํญ๋ชฉ์ ์ฌ์ฉ ํจํด์ ๋ํด ์ด๋ ํ ๊ฐ์ ๋ ํ์ง ์์ต๋๋ค. ๊ฐ์ฅ ๋จผ์ ์ถ๊ฐ๋ ํญ๋ชฉ์ด ์ฌ์ ํ ๊ฐ์ฅ ์์ฃผ ๋๋ ์ต๊ทผ์ ์ฌ์ฉ๋ ํญ๋ชฉ์ผ ์ ์์ง๋ง, ๋จ์ง ์บ์์ ๊ฐ์ฅ ์ค๋ ์์๋ค๋ ์ด์ ๋ง์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค. ์ ๊ทผ ํจํด์ ๋ํ ์ด๋ฌํ "๋งน๋ชฉ์ฑ"์ ์ข ์ข LRU๋ LFU์ ๊ฐ์ ๋ ์ ๊ตํ ์๊ณ ๋ฆฌ์ฆ์ ๋นํด ๋ฎ์ ์บ์ ์ ์ค๋ฅ ๋ก ์ด์ด์ง๋๋ค. ์ผ๋ฐ์ ์ธ ๋ชฉ์ ์ ์บ์ฑ์๋ ๋นํจ์จ์ ์ด์ง๋ง, FIFO๋ ์ฝ์ ์์๊ฐ ๋ฏธ๋ ์ฌ์ฉ ๊ฐ๋ฅ์ฑ๊ณผ ์ง์ ์ ์ผ๋ก ์๊ด๊ด๊ณ๊ฐ ์๊ฑฐ๋ ๋ ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ์ ๊ณ์ฐ ์ค๋ฒํค๋๊ฐ ์ฉ๋ฉ๋ ์ ์๋ ํน์ ์๋๋ฆฌ์ค์ ์ ํฉํ ์ ์์ต๋๋ค.
4. ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋ ํญ๋ชฉ (MRU)
๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋ ํญ๋ชฉ(MRU) ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋ฌ ๋ฉด์์ LRU์ ๋ฐ๋์ ๋๋ค. ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํญ๋ชฉ์ ์ ๊ฑฐํ๋ ๋์ , MRU๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ ๊ทผํ ํญ๋ชฉ์ ์ ๊ฑฐํฉ๋๋ค. ์ธ๋ป ๋ณด๊ธฐ์๋ ์ต๊ทผ ์ฌ์ฉ์ด ์ข ์ข ๋ฏธ๋ ์ฌ์ฉ์ ์์ธกํ๊ธฐ ๋๋ฌธ์ ์ง๊ด์ ๋ฐํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ MRU๋ ๋ฐ์ดํฐ ์ธํธ๊ฐ ์ ํ์ ์ผ๋ก ์ฒ๋ฆฌ๋๊ณ ํญ๋ชฉ์ด ์ฒ๋ฆฌ๋ ํ์๋ ๋ค์ ์ ๊ทผํ ๊ฐ๋ฅ์ฑ์ด ๊ฑฐ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฃจํ์ด๋ ์์ฐจ์ ์ค์บ๊ณผ ๊ฐ์ ํน์ ํ์ ์๋๋ฆฌ์ค์์ ํจ๊ณผ์ ์ผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ฉ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ๊ณ , ํญ๋ชฉ์ด ์ฒ๋ฆฌ๋๋ฉด ๊ณง ๋ค์ ํ์ํ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋ฎ์ ๊ฒฝ์ฐ, ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋ ํญ๋ชฉ์ ์ ์งํ๋ ๊ฒ์ ๋ญ๋น์ผ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ ๊ฑฐํ๋ฉด ์์ง ์ฒ๋ฆฌ๋์ง ์์ ์ ํญ๋ชฉ์ ์ํ ๊ณต๊ฐ์ด ์๊น๋๋ค. ๊ตฌํ์ LRU์ ์ ์ฌํ์ง๋ง ์ ๊ฑฐ ๋ ผ๋ฆฌ๊ฐ ๋ฐ๋์ ๋๋ค. ์ผ๋ฐ์ ์ธ ๋ชฉ์ ์ ์ ๋ต์ ์๋์ง๋ง, MRU๋ฅผ ์ดํดํ๋ฉด "์ต์์" ์ ๊ฑฐ ์ ์ฑ ์ด ์บ์๋๋ ๋ฐ์ดํฐ์ ํน์ ์ ๊ทผ ํจํด๊ณผ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ํฌ๊ฒ ๋ฌ๋ผ์ง๋ค๋ ์ ์ ๊ฐ์กฐํฉ๋๋ค.
5. ์ ์ํ ๊ต์ฒด ์บ์ (ARC)
์ด๋ฌํ ๊ธฐ๋ณธ ์ ๋ต ์ธ์๋ ์ ์ํ ๊ต์ฒด ์บ์(ARC)์ ๊ฐ์ ๋ ๋ฐ์ ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํฉ๋๋ค. ARC๋ ๊ด์ฐฐ๋ ์ ๊ทผ ํจํด์ ๋ฐ๋ผ ์ ์ฑ ์ ๋์ ์ผ๋ก ์กฐ์ ํ์ฌ LRU์ LFU์ ์ฅ์ ์ ๊ฒฐํฉํ๋ ค๊ณ ์๋ํฉ๋๋ค. ์ต๊ทผ์ ์ ๊ทผํ ํญ๋ชฉ(์์ฃผ ์ ๊ทผํ ์ ์๋)์ ์ํ LRU ๋ชฉ๋ก๊ณผ ์ต๊ทผ์ ์ ๊ฑฐ๋ ํญ๋ชฉ(ํ๋ ์ธ๊ธฐ๊ฐ ์์๋ ํญ๋ชฉ์ ์ถ์ ํ๊ธฐ ์ํด)์ ์ํ ๋ ๋ค๋ฅธ LRU ๋ชฉ๋ก, ์ด๋ ๊ฒ ๋ ๊ฐ์ ๋ชฉ๋ก์ ์ ์งํฉ๋๋ค. ์ด๋ฅผ ํตํด ARC๋ ๋ ์ง๋ฅ์ ์ธ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ผ๋ฉฐ, ํนํ ์ ๊ทผ ํจํด์ด ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณํ ๋ LRU์ LFU ๋ชจ๋๋ฅผ ๋ฅ๊ฐํ๋ ์ฑ๋ฅ์ ๋ณด์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋งค์ฐ ํจ๊ณผ์ ์ด์ง๋ง, ARC์ ์ฆ๊ฐ๋ ๋ณต์ก์ฑ๊ณผ ๊ณ์ฐ ์ค๋ฒํค๋๋ ์ผ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์์ค์ ๋ฉ๋ชจ์ด์ ์ด์ ํ ๋ณด๋ค๋ ํ์ ์์ค์ ๊ณ ์ฑ๋ฅ ์บ์ฑ ์์คํ ์ ๋ ์ ํฉํ๊ฒ ๋ง๋ญ๋๋ค.
React experimental_useCache ์ ๊ฑฐ ์ ์ฑ ์ฌ์ธต ๋ถ์: ์ถ๋ก ๋ฐ ๊ณ ๋ ค์ฌํญ
useCache์ experimental(์คํ์ ) ํน์ฑ์ ๊ณ ๋ คํ ๋, React์ ์ ํํ ๋ด๋ถ ์ ๊ฑฐ ์ ์ฑ
์ ๋ช
์์ ์ผ๋ก ๋ฌธ์ํ๋์ง ์์๊ฑฐ๋ ์์ ํ ์์ ์ ์ด์ง ์์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฑ๋ฅ, ๋ฐ์์ฑ ๋ฐ ๊ฐ๋ฐ์ ๊ฒฝํ์ ๋ํ React์ ์ฒ ํ์ ๋ฐํ์ผ๋ก ์ด๋ค ์ข
๋ฅ์ ์ ๋ต์ด ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ์๋์ง ๋๋ ์ด๋ค ์์ธ์ด ์ ๊ฑฐ ํ๋์ ์ํฅ์ ๋ฏธ์น ์ง์ ๋ํด ์ ๋ณด์ ์
๊ฐํ ์ถ๋ก ์ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์คํ์ ์ธ API์ด๋ฉฐ ๋ด๋ถ ์๋ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋ ์ ์์์ ๊ธฐ์ตํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
React ์บ์์ ์ํฅ์ ๋ฏธ์น ๊ฐ๋ฅ์ฑ์ด ์๋ ์์ธ๋ค
React์ ์บ์๋ ๋ฒ์ฉ ์์คํ ์บ์์ ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๊ทธ ์๋ช ์ฃผ๊ธฐ๋ผ๋ ๋งฅ๋ฝ ์์์ ์๋ํฉ๋๋ค. ์ด ๋ ํนํ ํ๊ฒฝ์ ์ ๊ฑฐ ์ ๋ต์ ๋ํ ๋ช ๊ฐ์ง ํต์ฌ ๋์ธ์ ์์ฌํฉ๋๋ค:
- ์ปดํฌ๋ํธ ์๋ช
์ฃผ๊ธฐ์ ๋ง์ดํธ ํด์ : ์ฃผ๋ ์์ธ์ ๊ฑฐ์ ํ์คํ๊ฒ ์ปดํฌ๋ํธ ํธ๋ฆฌ์ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ์ปดํฌ๋ํธ๊ฐ ๋ง์ดํธ ํด์ ๋ ๋, ํด๋น ์ปดํฌ๋ํธ์ ํน๋ณํ ์ฐ๊ด๋ ์บ์๋ ๊ฐ(์: ๋ก์ปฌ
experimental_useCache์ธ์คํด์ค ๋ด)์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ ๊ด๋ จ์ฑ์ด ์๊ฒ ๋ฉ๋๋ค. React๋ ๋ ์ด์ UI์ ํ์ฑํ๋์ง ์์ ์ปดํฌ๋ํธ์ ํ์ํ ํญ๋ชฉ์ด๋ฏ๋ก ์ด๋ฌํ ํญ๋ชฉ์ ์ ๊ฑฐ๋ฅผ ์ฐ์ ์์๋ก ๋ ์ ์์ต๋๋ค. ์ด๋ ๋ ์ด์ ์กด์ฌํ์ง ์๋ ์ปดํฌ๋ํธ๋ฅผ ์ํ ๊ณ์ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น๋์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค. - ๋ฉ๋ชจ๋ฆฌ ์๋ฐ: ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ, ํนํ ๊ธ๋ก๋ฒ ์ปจํ ์คํธ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํฌ๊ฒ ๋ค๋ฆ ๋๋ค. React๋ ํ๊ฒฝ์ผ๋ก๋ถํฐ์ ๋ฉ๋ชจ๋ฆฌ ์๋ฐ ์ ํธ์ ๋์ํ๋ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์์คํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด ์บ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ถฉ๋ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ต๊ทผ์ฑ์ด๋ ๋น๋์ ๊ด๊ณ์์ด ํญ๋ชฉ์ ๊ณต๊ฒฉ์ ์ผ๋ก ์ ๊ฑฐํ ์ ์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ํซ ํจ์ค(Hot Paths): React๋ ํ์ฌ ๋ณด์ด๊ณ ์ํธ์์ฉํ๋ UI ๋ถ๋ถ์ ์ฑ๋ฅ์ ์ ์งํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ ๊ฑฐ ์ ์ฑ ์ ํ์ฌ ๋ง์ดํธ๋์ด ์๊ฑฐ๋, ์์ฃผ ๋ค์ ๋ ๋๋ง๋๊ฑฐ๋, ์ฌ์ฉ์๊ฐ ์ ๊ทน์ ์ผ๋ก ์ํธ์์ฉํ๋ ์ปดํฌ๋ํธ์ ๊ฐ์ "ํซ ํจ์ค"์ ์ผ๋ถ์ธ ์บ์๋ ๊ฐ์ ์๋ฌต์ ์ผ๋ก ์ ํธํ ์ ์์ต๋๋ค.
- ์ค๋๋จ(๊ฐ์ ์ ์ผ๋ก):
experimental_useCache๋ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ํ ๊ฒ์ด์ง๋ง, ์บ์ํ๋ ๋ฐ์ดํฐ๋ ์ธ๋ถ ์์ค์์ ํ์๋ ๊ฒฝ์ฐ ๊ฐ์ ์ ์ผ๋ก ์ค๋๋ ์ ์์ต๋๋ค. React ์บ์ ์์ฒด์๋ ๋ฌดํจํ๋ฅผ ์ํ ์ง์ ์ ์ธ TTL(Time-To-Live) ๋ฉ์ปค๋์ฆ์ด ์์ ์ ์์ง๋ง, ์ปดํฌ๋ํธ ์๋ช ์ฃผ๊ธฐ๋ ์ฌ๋ ๋๋ง๊ณผ์ ์ํธ์์ฉ์ ์์กด์ฑ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์ค๋๋ ๊ณ์ฐ์ด ์์ฐ์ค๋ฝ๊ฒ ์ฌํ๊ฐ๋์ด ๊ฐ์ ์ ์ผ๋ก "์ ์ ํ" ์บ์๋ ๊ฐ์ด ์ด์ ๊ฐ์ ๋์ฒดํ๊ฒ ๋จ์ ์๋ฏธํฉ๋๋ค.
์๋ ๋ฐฉ์ ์ถ๋ก (์ผ๋ฐ์ ์ธ ํจํด๊ณผ React ์์น ๊ธฐ๋ฐ)
์ ์ฝ ์กฐ๊ฑด๊ณผ ๋ชฉํ๋ฅผ ๊ณ ๋ คํ ๋, ์์ ํ ๋จ์ํ LRU๋ LFU๋ ๋ถ์ถฉ๋ถํ ์ ์์ต๋๋ค. ๋์ , ๋ ์ ๊ตํ๊ณ ์ ์ฌ์ ์ผ๋ก ํ์ด๋ธ๋ฆฌ๋ ๋๋ ์ปจํ ์คํธ ์ธ์ ์ ๋ต์ด ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค:
- ํฌ๊ธฐ ์ ํ LRU/LFU ํ์ด๋ธ๋ฆฌ๋: ์ผ๋ฐ์ ์ด๊ณ ๊ฒฌ๊ณ ํ ์ ๊ทผ ๋ฐฉ์์ LRU์ ์ต๊ทผ์ฑ ์ด์ ๊ณผ LFU์ ๋น๋ ์ธ์์ ๊ฒฐํฉํ๋ ๊ฒ์ด๋ฉฐ, ์๋ง๋ ๊ฐ์ค์น๋ฅผ ๋๊ฑฐ๋ ๋์ ์ผ๋ก ์กฐ์ ๋ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์บ์๊ฐ ๋ฌดํ์ ์ปค์ง์ง ์๊ณ , ์ค๋๋๊ณ ๋ํ ๋๋ฌผ๊ฒ ์ฌ์ฉ๋๋ ํญ๋ชฉ์ด ์ ๊ฑฐ ๋์์ผ๋ก ์ฐ์ ์์๊ฐ ์ง์ ๋ฉ๋๋ค. React๋ ์บ์์ ๋ด๋ถ ํฌ๊ธฐ ์ ํ์ ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
- ๊ฐ๋น์ง ์ปฌ๋ ์ ํตํฉ: ๋ช ์์ ์ธ ์ ๊ฑฐ ๋์ , React์ ์บ์ ํญ๋ชฉ์ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์์ผ๋ฉด ๊ฐ๋น์ง ์ปฌ๋ ์ ๋์์ด ๋๋๋ก ์ค๊ณ๋ ์ ์์ต๋๋ค. ์ปดํฌ๋ํธ๊ฐ ๋ง์ดํธ ํด์ ๋ ๋, ์บ์๋ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ํ์ฑ ๋ถ๋ถ์์ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์์ผ๋ฉด ๊ฐ๋น์ง ์ปฌ๋ ์ ๋์์ด ๋์ด ์ฌ์ค์ ์ ๊ฑฐ ๋ฉ์ปค๋์ฆ์ผ๋ก ์๋ํฉ๋๋ค. ์ด๊ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ชจ๋ธ์ ์์กดํ๋ ๋งค์ฐ "React์ค๋ฌ์ด" ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
- ๋ด๋ถ "์ ์" ๋๋ "์ฐ์ ์์": React๋ ๋ค์๊ณผ ๊ฐ์ ์์ธ์ ๊ธฐ๋ฐ์ผ๋ก ์บ์๋ ํญ๋ชฉ์ ๋ด๋ถ ์ ์๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค:
- ์ผ๋ง๋ ์ต๊ทผ์ ์ ๊ทผํ๋์ง (LRU ์์ธ).
- ์ผ๋ง๋ ์์ฃผ ์ ๊ทผํ๋์ง (LFU ์์ธ).
- ํ์ฌ ๋ง์ดํธ๋ ์ปดํฌ๋ํธ์ ๊ด๋ จ์ด ์๋์ง (๋ ๋์ ์ฐ์ ์์).
- ์ฌ๊ณ์ฐ ๋น์ฉ (์๋์ผ๋ก ์ถ์ ํ๊ธฐ๋ ๋ ์ด๋ ต์ง๋ง).
- ์ผ๊ด ์ ๊ฑฐ: ํ ๋ฒ์ ํ ํญ๋ชฉ์ฉ ์ ๊ฑฐํ๋ ๋์ , React๋ ํน์ ์๊ณ๊ฐ(์: ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ์บ์๋ ํญ๋ชฉ ์)์ ๋์ผ๋ฉด ๊ด๋ จ์ฑ์ด ๋ฎ์ ํญ๋ชฉ ๋ฉ์ด๋ฆฌ๋ฅผ ์ง์ฐ๋ ์ผ๊ด ์ ๊ฑฐ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ์ด๋ ์ง์์ ์ธ ์บ์ ๊ด๋ฆฌ์ ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๊ฐ๋ฐ์๋ ์บ์๋ ํญ๋ชฉ์ด ๋ฌด๊ธฐํ์ผ๋ก ์ ์ง๋๋ค๋ ๋ณด์ฅ์ด ์๋ค๋ ๊ฐ์ ํ์ ์์
ํด์ผ ํฉ๋๋ค. React๋ ์์ฃผ ์ฌ์ฉ๋๊ณ ํ๋ฐํ๊ฒ ์ฐธ์กฐ๋๋ ํญ๋ชฉ์ ์ ์งํ๊ธฐ ์ํด ๋
ธ๋ ฅํ๊ฒ ์ง๋ง, ์์คํ
์ ๋ฆฌ์์ค๊ฐ ์ ํ๋๊ฑฐ๋ ๊ด๋ จ์ฑ์ด ์ค์ด๋ค ๋ ๋ฌด์์ด๋ ์ ๊ฑฐํ ๊ถ๋ฆฌ๋ฅผ ๋ณด์ ํฉ๋๋ค. ์ด๋ฌํ "๋ธ๋๋ฐ์ค" ํน์ฑ์ ๊ฐ๋ฐ์๋ค์ด experimental_useCache๋ฅผ ์๊ตฌ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ์๋ณด๋ค๋ ์ง์ ์ผ๋ก ๋ฉ๋ชจ์ด์ ์ด์
๊ฐ๋ฅํ๊ณ ๋ถ์ ํจ๊ณผ๊ฐ ์๋ ๊ณ์ฐ์ ์ฌ์ฉํ๋๋ก ์ฅ๋ คํฉ๋๋ค.
์บ์ ์ ๊ฑฐ๋ฅผ ์ผ๋์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ค๊ณ
์ ํํ ๋ด๋ถ ๋ฉ์ปค๋์ฆ๊ณผ ๊ด๊ณ์์ด, ๊ฐ๋ฐ์๋ experimental_useCache๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๊ณ ์ต์ ์ ๊ธ๋ก๋ฒ ์ฑ๋ฅ์ ์ํด ๊ทธ ์ ๊ฑฐ ์ ์ฑ
์ ๋ณด์ํ๋ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ฑํํ ์ ์์ต๋๋ค.
experimental_useCache ์ฌ์ฉ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
- ์ธ๋ถํํ์ฌ ์บ์ํ๊ธฐ: ์ง๋์น๊ฒ ํฌ๊ณ ๋จ์ผํ ๊ฐ์ฒด๋ฅผ ์บ์ฑํ๋ ๊ฒ์ ํผํ์ธ์. ๋์ , ๊ณ์ฐ์ ๋ ์๊ณ ๋ ๋ฆฝ์ ์ธ ์กฐ๊ฐ์ผ๋ก ๋๋์ด ๊ฐ๋ณ์ ์ผ๋ก ์บ์ํ ์ ์๋๋ก ํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ์ ๊ฑฐ ์ ์ฑ ์ด ๋ชจ๋ ๊ฒ์ ๋ฒ๋ฆฌ์ง ์๊ณ ๋ ๊ด๋ จ๋ ๋ถ๋ถ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
- "ํซ ํจ์ค" ์ดํดํ๊ธฐ: ์ ํ๋ฆฌ์ผ์ด์
UI์ ๋ก์ง์์ ๊ฐ์ฅ ์ค์ํ๊ณ ์์ฃผ ์ ๊ทผํ๋ ๋ถ๋ถ์ ์๋ณํ์ธ์. ์ด๋ค์
experimental_useCache์ ์ฃผ์ ํ๋ณด์ ๋๋ค. ์ฌ๊ธฐ์ ์บ์ฑ ๋ ธ๋ ฅ์ ์ง์คํจ์ผ๋ก์จ React์ ๋ด๋ถ ๋ฉ์ปค๋์ฆ์ด ์ฐ์ ์์๋ฅผ ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ ๊ฒ๊ณผ ์ผ์นํ๊ฒ ๋ฉ๋๋ค. - ๋ฏผ๊ฐํ๊ฑฐ๋ ๋น ๋ฅด๊ฒ ๋ณํ๋ ๋ฐ์ดํฐ ์บ์ฑ ํผํ๊ธฐ:
experimental_useCache๋ ์์ํ๊ณ ๊ฒฐ์ ์ ์ธ ๊ณ์ฐ์ด๋ ์ธ์ ๋์ ์ง์ ์ผ๋ก ์ ์ ์ธ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์ ํฉํฉ๋๋ค. ์์ฃผ ๋ณ๊ฒฝ๋๊ฑฐ๋, ์๊ฒฉํ ์ต์ ์ฑ์ด ์๊ตฌ๋๊ฑฐ๋, ๋ฏผ๊ฐํ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํฌํจํ๋ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ, ๊ฒฌ๊ณ ํ ๋ฌดํจํ ์ ๋ต์ ๊ฐ์ถ ์ ์ฉ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(React Query๋ SWR ๋ฑ)๋ ์๋ฒ ์ธก ๋ฉ์ปค๋์ฆ์ ์์กดํ์ธ์. - ์ฌ๊ณ์ฐ ๋น์ฉ vs. ์บ์ ์ ์ฅ ๋น์ฉ ๊ณ ๋ คํ๊ธฐ: ๋ชจ๋ ์บ์๋ ํญ๋ชฉ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํฉ๋๋ค. ๊ฐ์ ์ฌ๊ณ์ฐํ๋ ๋น์ฉ(CPU ์ฌ์ดํด)์ด ๊ทธ๊ฒ์ ์ ์ฅํ๋ ๋น์ฉ(๋ฉ๋ชจ๋ฆฌ)์ ํจ์ฌ ๋ฅ๊ฐํ ๋
experimental_useCache๋ฅผ ์ฌ์ฉํ์ธ์. ์ฌ์ํ ๊ณ์ฐ์ ์บ์ํ์ง ๋ง์ธ์. - ์ ์ ํ ์ปดํฌ๋ํธ ์๋ช ์ฃผ๊ธฐ ๋ณด์ฅํ๊ธฐ: ์ ๊ฑฐ๊ฐ ์ปดํฌ๋ํธ ๋ง์ดํธ ํด์ ์ ๊ด๋ จ๋ ์ ์์ผ๋ฏ๋ก, ์ปดํฌ๋ํธ๊ฐ ๋ ์ด์ ํ์ ์์ ๋ ์ฌ๋ฐ๋ฅด๊ฒ ๋ง์ดํธ ํด์ ๋๋๋ก ํ์ธ์. ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ํผํ์ธ์. ์ด๋ ์๋์น ์๊ฒ ์บ์๋ ํญ๋ชฉ์ ์ด์์๊ฒ ํ ์ ์์ต๋๋ค.
๊ฒฌ๊ณ ํ ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๋ณด์์ ์บ์ฑ ์ ๋ต
experimental_useCache๋ ๋ ๋์ ์บ์ฑ ๋ฌด๊ธฐ๊ณ ์ ํ ๋๊ตฌ์
๋๋ค. ์ง์ ์ผ๋ก ์ฑ๋ฅ์ด ์ข์ ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํด์๋ ๋ค๋ฅธ ์ ๋ต๊ณผ ํจ๊ป ์ฌ์ฉํด์ผ ํฉ๋๋ค:
- ๋ธ๋ผ์ฐ์ HTTP ์บ์: ์ด๋ฏธ์ง, ์คํ์ผ์ํธ, ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ๋ค๊ณผ ๊ฐ์ ์ ์ ์์ฐ์ ๋ํด ํ์ค HTTP ์บ์ฑ ํค๋(
Cache-Control,Expires,ETag,Last-Modified)๋ฅผ ํ์ฉํ์ธ์. ์ด๊ฒ์ ์ ์ธ๊ณ์ ์ผ๋ก ๋คํธ์ํฌ ์์ฒญ์ ์ค์ด๋ ์ฑ๋ฅ์ ์ฒซ ๋ฒ์งธ ๋ฐฉ์ด์ ์ ๋๋ค. - ์๋น์ค ์์ปค (ํด๋ผ์ด์ธํธ ์ธก ์บ์ฑ): ์คํ๋ผ์ธ ๊ธฐ๋ฅ๊ณผ ์ด๊ณ ์ ํ์ ๋ก๋๋ฅผ ์ํด ์๋น์ค ์์ปค๋ ๋คํธ์ํฌ ์์ฒญ ๋ฐ ์๋ต์ ๋ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์ ์ ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋์ ๋ฐ์ดํฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ธ์ ์บ์ํ์ฌ ์ธ์ ๊ฐ์ ์ง์๋๋ ๊ฒฌ๊ณ ํ ์บ์ฑ ๋ ์ด์ด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ์ด๋ ๊ฐํ์ ์ด๊ฑฐ๋ ๋๋ฆฐ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ์๋ ์ง์ญ์์ ํนํ ์ ์ฉํฉ๋๋ค.
- ์ ์ฉ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: React Query, SWR ๋๋ Apollo Client์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ฒด์ ์ผ๋ก ์ ๊ตํ ํด๋ผ์ด์ธํธ ์ธก ์บ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ์๋ ์ฌ๊ฐ์ ธ์ค๊ธฐ, stale-while-revalidate ํจํด, ๊ฐ๋ ฅํ ๋ฌดํจํ ๋ฉ์ปค๋์ฆ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ค์ ์ข ์ข ๋์ ์ธ ์๋ฒ ์์ค ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ฐ์ํ๋ฉฐ, React์ ์ปดํฌ๋ํธ ์บ์ฑ๊ณผ ํจ๊ป ์๋ํฉ๋๋ค.
- ์๋ฒ ์ธก ์บ์ฑ (CDN, Redis ๋ฑ): ์๋ฒ ์์ค์์ ๋๋ ์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ(CDN)๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ ๋ ๊ฐ๊น๊ฒ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๋ฉด ์ ์ธ๊ณ ์ฌ์ฉ์์ ๋๊ธฐ ์๊ฐ์ ๋ํญ ์ค์ผ ์ ์์ต๋๋ค. CDN์ ์ง๋ฆฌ์ ์์น์ ๊ด๊ณ์์ด ์ฌ์ฉ์์๊ฒ ๋ ๊ฐ๊น์ด ๊ณณ์ ์ฝํ ์ธ ๋ฅผ ๋ฐฐํฌํ์ฌ ์๋๋์์ ์คํกํ๋ฆ๊น์ง ์ด๋์์๋ ๋ก๋ ์๊ฐ์ ๋ ๋น ๋ฅด๊ฒ ๋ง๋ญ๋๋ค.
๊ธ๋ก๋ฒ ์ํฅ ๋ฐ ๊ณ ๋ ค์ฌํญ
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ๊ฐ๋ฐํ๋ค๋ ๊ฒ์ ๊ด๋ฒ์ํ ์ฌ์ฉ์ ํ๊ฒฝ์ ์ธ์ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. experimental_useCache์ ์ํฅ์ ๋ฐ๋ ๊ฒ์ ํฌํจํ ๋ชจ๋ ์บ์ฑ ์ ๋ต์ ํจ๊ณผ๋ ์ด๋ฌํ ๋ค์ํ ์กฐ๊ฑด๊ณผ ๊น์ด ์ฝํ ์์ต๋๋ค.
๋ค์ํ ์ฌ์ฉ์ ํ๊ฒฝ๊ณผ ๊ทธ ์ํฅ
- ๊ธฐ๊ธฐ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ: ์ธ๊ณ ๊ฐ์ง์ ์ฌ์ฉ์๋ค์ ์ ํ๋ RAM์ ๊ฐ์ง ์ ์ฌ์ ์ค๋งํธํฐ๋ถํฐ ๊ฐ๋ ฅํ ๋ฐ์คํฌํฑ ๋จธ์ ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ๊ธฐ๊ธฐ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ ๊ทผํ ์ ์์ต๋๋ค. React์
experimental_useCache์์ ๊ณต๊ฒฉ์ ์ธ ์บ์ ์ ๊ฑฐ ์ ์ฑ ์ ๋ฆฌ์์ค๊ฐ ์ ํ๋ ๊ธฐ๊ธฐ์ ๋ ์ ์ตํ ์ ์์ผ๋ฉฐ, ๊ณผ๋ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ์์ฑ์ ์ ์งํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๊ธ๋ก๋ฒ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ์ํด ์ต์ ํํ ๋ ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ฐ์ ์ํ์ฌ ์ด๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. - ๋คํธ์ํฌ ์๋ ๋ฐ ์ง์ฐ ์๊ฐ: ํด๋ผ์ด์ธํธ ์ธก ์บ์ฑ์ ์ฃผ๋ก CPU ๋ถํ๋ฅผ ์ค์ด์ง๋ง, ๋คํธ์ํฌ ์กฐ๊ฑด์ด ์ข์ง ์์ ๋ ๊ทธ ์ด์ ์ ์ฆํญ๋ฉ๋๋ค. ๋๋ฆฌ๊ฑฐ๋ ๊ฐํ์ ์ธ ์ธํฐ๋ท์ด ์๋ ์ง์ญ์์๋ ํจ๊ณผ์ ์ผ๋ก ์บ์๋ ๊ณ์ฐ์ด UI๋ฅผ ์ง์ฐ์ํฌ ์ ์๋ ์๋ณต ์ด๋์ ํ์์ฑ์ ์ค์ฌ์ค๋๋ค. ์ ๊ด๋ฆฌ๋ ์บ์๋ ๋คํธ์ํฌ๊ฐ ๋ณ๋ํ๋๋ผ๋ ๊ฐ์ ธ์ค๊ฑฐ๋ ์ฌ๊ณ์ฐํด์ผ ํ ๋ฐ์ดํฐ๊ฐ ์ค์ด๋ฆ์ ์๋ฏธํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ฒ์ ๋ฐ ๊ธฐ๋ฅ: ์ง์ญ๋ง๋ค ์ต์ ๋ธ๋ผ์ฐ์ ๊ธฐ์ ์ ์ฑํ๋ฅ ์ด ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ต์ ๋ธ๋ผ์ฐ์ ๋ ๊ณ ๊ธ ์บ์ฑ API์ ๋ ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ์ฑ๋ฅ์ ์ ๊ณตํ์ง๋ง, ๊ตฌํ ๋ธ๋ผ์ฐ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ๋ ๋ฏผ๊ฐํ ์ ์์ต๋๋ค. React์ ๋ด๋ถ ์บ์ฑ์ ๊ด๋ฒ์ํ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ์ ์๋ํ ์ ์์ ๋งํผ ๊ฒฌ๊ณ ํด์ผ ํฉ๋๋ค.
- ์ฌ์ฉ์ ํ๋ ํจํด: ์ฌ์ฉ์ ์ํธ์์ฉ ํจํด์ ์ ์ธ๊ณ์ ์ผ๋ก ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ผ๋ถ ๋ฌธํ๊ถ์์๋ ์ฌ์ฉ์๊ฐ ๋จ์ผ ํ์ด์ง์ ๋ ๋ง์ ์๊ฐ์ ๋ณด๋ด๋ ๊ฒฝํฅ์ด ์์ด, ํ์ด์ง ๊ฐ ๋น ๋ฅธ ํ์์ด ๋ ํํ ์ง์ญ๊ณผ๋ ๋ค๋ฅธ ์บ์ ์ ์ค/์คํจ ๋น์จ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ์ค์ผ์ผ์ ์ฑ๋ฅ ์งํ
์ ์ธ๊ณ์ ์ผ๋ก ์ฑ๋ฅ์ ์ธก์ ํ๋ ค๋ฉด ์ ์ง๊ตญ์ ๋น ๋ฅธ ์ฐ๊ฒฐ์์ ํ ์คํธํ๋ ๊ฒ ์ด์์ด ํ์ํฉ๋๋ค. ์ฃผ์ ์งํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ํธ์์ฉ๊น์ง์ ์๊ฐ (TTI): ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ ํ ์ํธ์์ฉ ๊ฐ๋ฅํด์ง๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์
๋๋ค.
experimental_useCache๋ด์ ํจ๊ณผ์ ์ธ ์บ์ฑ์ TTI๋ฅผ ๋ฎ์ถ๋ ๋ฐ ์ง์ ์ ์ผ๋ก ๊ธฐ์ฌํฉ๋๋ค. - ์ต์ด ์ฝํ ์ธ ํ ํ์ธํธ (FCP) / ์ต๋ ์ฝํ ์ธ ํ ํ์ธํธ (LCP): ์ฌ์ฉ์๊ฐ ์๋ฏธ ์๋ ์ฝํ ์ธ ๋ฅผ ์ผ๋ง๋ ๋นจ๋ฆฌ ๋ณด๋์ง์ ๋๋ค. ์ค์ํ UI ์์์ ๋ํ ๊ณ์ฐ์ ์บ์ฑํ๋ฉด ์ด๋ฌํ ์งํ๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋: ํด๋ผ์ด์ธํธ ์ธก ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ์ฝ์๊ณผ ์ ๋ฌธ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์๋น์ค์ ๊ฐ์ ๋๊ตฌ๋ ๋ค์ํ ์ฌ์ฉ์ ์ธ๊ทธ๋จผํธ์์ ์ด๋ฅผ ์ถ์ ํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์บ์ฑ์ ์ฌ์ฉํ๋๋ผ๋ ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋นํจ์จ์ ์ธ ์ ๊ฑฐ ์ ์ฑ ์ด๋ ์บ์ ์ค์ผ์ ๋ํ๋ผ ์ ์์ต๋๋ค.
- ์บ์ ์ ์ค๋ฅ :
experimental_useCache์ ๋ํด ์ง์ ๋ ธ์ถ๋์ง๋ ์์ง๋ง, ๋ค๋ฅธ ๋ ์ด์ด๋ฅผ ํฌํจํ ์บ์ฑ ์ ๋ต์ ์ ๋ฐ์ ์ธ ํจ์จ์ฑ์ ์ดํดํ๋ฉด ๊ทธ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํด ์ต์ ํํ๋ค๋ ๊ฒ์ ๊ฐ๋ฅํ ๊ฐ์ฅ ๋์ ๋ฒ์์ ์ฌ์ฉ์์๊ฒ ์ด์ต์ด ๋๋ ์์์ ์ธ ์ ํ์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ๋์ฟ์ ๊ณ ์ ๊ด์ฌ์ ์ฐ๊ฒฐ์์๋ ์ธ๋ ์๊ณจ์ ๋ชจ๋ฐ์ผ ๋คํธ์ํฌ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋น ๋ฅด๊ณ ์ ์ฐํ๊ฒ ์๋ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ฏธ๋ ์ ๋ง ๋ฐ ๊ฐ๋ฐ
experimental_useCache๋ ์์ง ์คํ ๋จ๊ณ์ ์์ผ๋ฏ๋ก, ์ ๊ฑฐ ์ ์ฑ
์ ํฌํจํ ์ ํํ ๋์์ ๊ฐ์ ๋๊ณ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. React ํ์ API ์ค๊ณ ๋ฐ ์ฑ๋ฅ ์ต์ ํ์ ๋ํ ์ธ์ฌํ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ ๋ช
ํ๋ฉฐ, ์ด ํ๋ฆฌ๋ฏธํฐ๋ธ๊ฐ ์ค์ ์ฌ์ฉ ์ฌ๋ก์ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ์งํํ ๊ฒ์ผ๋ก ๊ธฐ๋ํ ์ ์์ต๋๋ค.
๋ฐ์ ๊ฐ๋ฅ์ฑ
- ๋ ๋ช ์์ ์ธ ์ ์ด: ํ์ฌ ๋์์ธ์ ๋จ์์ฑ๊ณผ ์๋ ๊ด๋ฆฌ๋ฅผ ๊ฐ์กฐํ์ง๋ง, ํฅํ ๋ฒ์ ์์๋ ๊ฐ๋ฐ์๊ฐ ์ฐ์ ์์๋ ๋ฌดํจํ ์ ๋ต์ ๋ํ ํํธ๋ฅผ ์ ๊ณตํ๋ ๋ฑ ์บ์ ๋์์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋ ๋ช ์์ ์ธ ์ ์ด๋ ๊ตฌ์ฑ ์ต์ ์ ๋์ ํ ์ ์์ต๋๋ค(์ด๋ ๋ณต์ก์ฑ์ ์ฆ๊ฐ์ํฌ ์ ์์).
- Suspense ๋ฐ ๋์์ฑ ๊ธฐ๋ฅ๊ณผ์ ๋ ๊น์ ํตํฉ: React์ ๋์์ฑ ๊ธฐ๋ฅ์ด ์ฑ์ํด์ง์ ๋ฐ๋ผ,
experimental_useCache๋ ์์๋๋ ์ฌ์ฉ์ ์ํธ์์ฉ์ด๋ ๋ฏธ๋ ๋ ๋๋ง ์๊ตฌ์ ๊ธฐ๋ฐํ ๋ ์ง๋ฅ์ ์ธ ํ๋ฆฌํ์นญ ๋ฐ ์บ์ฑ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฑ ํจ์ฌ ๋ ๊น์ด ํตํฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. - ๊ฐ์ ๋ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ: ์บ์ ์ฑ๋ฅ, ์ ์ค๋ฅ ๋ฐ ์ ๊ฑฐ ํจํด์ ๊ด์ฐฐํ๊ธฐ ์ํ ๋๊ตฌ ๋ฐ API๊ฐ ๋ฑ์ฅํ์ฌ ๊ฐ๋ฐ์๊ฐ ์บ์ฑ ์ ๋ต์ ๋ ํจ๊ณผ์ ์ผ๋ก ๋ฏธ์ธ ์กฐ์ ํ ์ ์๋๋ก ์ง์ํ ์ ์์ต๋๋ค.
- ํ์คํ ๋ฐ ํ๋ก๋์ ์ค๋น: ๊ฒฐ๊ตญ API๊ฐ ์์ ํ๋๊ณ ์ ๊ฑฐ ๋ฉ์ปค๋์ฆ์ด ์ฒ ์ ํ ํ ์คํธ๋๋ฉด "์คํ์ " ํ๊ทธ๋ฅผ ๋ฒ์ด๋ React ๊ฐ๋ฐ์์ ํดํท์์ ํ์ค์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ๋๊ตฌ๊ฐ ๋ ๊ฒ์ ๋๋ค.
React์ ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ๋ํ ์ ๋ณด๋ฅผ ๊ณ์ ์ป๊ณ ์ปค๋ฎค๋ํฐ์ ๊ต๋ฅํ๋ ๊ฒ์ ์ด ๊ฐ๋ ฅํ ์บ์ฑ ํ๋ฆฌ๋ฏธํฐ๋ธ์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ๋ ค๋ ๊ฐ๋ฐ์์๊ฒ ๋งค์ฐ ์ค์ํ ๊ฒ์ ๋๋ค.
๊ฒฐ๋ก
React์ experimental_useCache์ ์บ์ ์ ๊ฑฐ ์ ์ฑ
์ ๋ณต์กํ ์ธ๊ณ๋ฅผ ํตํ ์ฌ์ ์ ๊ณ ์ฑ๋ฅ ์น ๊ฐ๋ฐ์ ๋ํ ๊ทผ๋ณธ์ ์ธ ์ง์ค์ ๋๋ฌ๋
๋๋ค: ๊ทธ๊ฒ์ ๋จ์ง ๋ฌด์์ ์ ์ฅํ๋๋๊ฐ ์๋๋ผ, ๊ทธ ์ ์ฅ ๊ณต๊ฐ์ ์ผ๋ง๋ ์ง๋ฅ์ ์ผ๋ก ๊ด๋ฆฌํ๋๋์ ๊ดํ ๊ฒ์
๋๋ค. experimental_useCache๊ฐ ๋ง์ ๋ณต์ก์ฑ์ ์ถ์ํํ์ง๋ง, ์บ์ ๊ต์ฒด ์ ๋ต์ ๊ธฐ๋ณธ ์์น์ ์ดํดํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๊ทธ ์ฌ์ฉ์ ๋ํด ์ ๋ณด์ ์
๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋ ํ์ ์ป๊ฒ ๋ฉ๋๋ค.
๊ธ๋ก๋ฒ ์ฌ์ฉ์์๊ฒ ๊ทธ ์๋ฏธ๋ ์ฌ์คํฉ๋๋ค. ํจ์จ์ ์ธ ์ ๊ฑฐ ์ ์ฑ ์ ์ํด ์ง์๋๋ ์ฌ๋ ค ๊น์ ์บ์ฑ์ ๋ค์ํ ๊ธฐ๊ธฐ, ๋คํธ์ํฌ ์กฐ๊ฑด ๋ฐ ์ง๋ฆฌ์ ์์น ์ ๋ฐ์ ๊ฑธ์ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ์์ฑ ์๊ณ ์ํํ ๊ฒฝํ์ ์ ๊ณตํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ฑํํ๊ณ , ๋ณด์์ ์ธ ์บ์ฑ ๋ ์ด์ด๋ฅผ ํ์ฉํ๋ฉฐ, React์ ์คํ์ API์ ์งํํ๋ ํน์ฑ์ ์ธ์งํจ์ผ๋ก์จ ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๋ง์กฑ๋์์ ์ง์ ์ผ๋ก ๋๊ฐ์ ๋ํ๋ด๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
experimental_useCache๋ฅผ ๋ง๋ฒ์ ์ด์์ด ์๋๋ผ, ์ง์๊ณผ ์๋๋ฅผ ๊ฐ์ง๊ณ ์ฌ์ฉํ์ ๋ ์ฐจ์ธ๋ ๋น ๋ฅด๊ณ , ์ ์ฐํ๋ฉฐ, ์ ์ธ๊ณ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ์น ๊ฒฝํ์ ๋ง๋๋ ๋ฐ ํฌ๊ฒ ๊ธฐ์ฌํ๋ ์ ๊ตํ ๋๊ตฌ๋ก ๋ฐ์๋ค์ด์ญ์์ค.